// pages/newdesc/index.js
import config from '../../utils/config';
import { request } from '../../utils/request';
Page({

    /**
     * 页面的初始数据
     */
    data: {
        baseUrl: config.baseUrl,
        userInfo: {},
        id: '',
        detail: {},
        currentVideoId: null,
        shareTipShow: false
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        this.setData({
            id: options.id
        })
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {
        this.getNewsDeatilInfo();
    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },
    /**
     * 获取新闻详情页面内容
     */
    getNewsDeatilInfo(e) {
        request({
            url: `/newsConfig/getNewsDeatilInfo/${this.data.id}`,
            method: "GET",
            data: this.data.registId ? { registId: this.data.registId } : {}
        }).then(res => {
            if(res.code == 0){
                let data = res.data;
                let html = "";
                if(data.html){
                    // 处理富文本图片不显示问题，在图片src中添加接口地址
                    html = data.html.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/gi,(match, capture) => {
                        let url = capture;
                        if(url.indexOf('http:') == -1 && url.indexOf('https:') == -1){
                            url = this.data.baseUrl + capture
                        }
                        return `<img src="${url}" style="max-width:100%;" alt=""/>`
                    })
                    let htmlArr = html.split(/<video [^>]*src=['"]([^'"]+)[^>]*><\/video>/)
                    data.htmlArr = htmlArr;
                    data.html = html;
                }
                wx.setNavigationBarTitle({
                    title: res.data.title || "新闻详情"
                })
                this.setData({
                    detail: res.data,
                })
            }
        }).catch(error => {
            console.log(error)
        })
    },
    // 监听视频播放
    videoPlay(e){
        var id = e.currentTarget.id;
        if (!this.data.currentVideoId) {
            this.setData({
                currentVideoId: id
            })
        } else { 
            var videoContextPrev = wx.createVideoContext(this.data.currentVideoId,this)
            if (this.data.currentVideoId != id) {
                videoContextPrev.pause()
                this.setData({
                    currentVideoId: id
                })
            }
        }
    },
    // 复制
    copy(){
        wx.setClipboardData({
            data: this.data.detail.summary,
            success (res) {
                // wx.getClipboardData({
                //     success (res) {
                //         wx.hideToast()
                //         console.log(res.data) // data
                //     }
                // })
            }
        })
    },
    /**
     * 显示分享提示
     */
    shareTips(){
        this.setData({
            shareTipShow: true
        })
    },
    /**
     * 关闭分享提示
     */
    close(e){
        this.setData({
            shareTipShow: false
        })
    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function (option) {
        this.setData({
            shareTipShow: false
        })
        let shareObj = {
            title: `${this.data.detail.title}`,
            path: `/pages/newdesc/index?id=${this.data.id}`,
            // imageUrl: this.data.baseUrl + this.data.userInfo.headUrl,
            success(res) {
                // 转发成功之后的回调
                // console.log("HHHH")
                if (res.errMsg == 'shareAppMessage:ok') {}
            },
            fail(res) {
                // console.log(res)
                // 转发失败之后的回调
                if (res.errMsg == 'shareAppMessage:fail cancel') {
                    // 用户取消转发
                } else if (res.errMsg == 'shareAppMessage:fail') {
                    // 转发失败，其中 detail message 为详细失败信息
                }
            },
            complete(res) {
                // console.log(res)
                // 转发结束之后的回调（转发成不成功都会执行）
            }
        };
        if (option.from === 'button') {
            // 来自页面内转发按钮
            // console.log(option.target)
        }
        return shareObj;
    },

    /**
     * 用户分享到朋友圈
     */
    onShareTimeline: function (option) {
        this.setData({
            shareTipShow: false
        })
        // console.log(option)
        let shareObj = {
            title: `${this.data.detail.title}`,
            query: `id=${this.data.id}`,
            // imageUrl: this.data.detail.img,
            // imageUrl: this.data.baseUrl + this.data.userInfo.headUrl,
            success(res) {
                // 转发成功之后的回调
                // console.log("HHHH")
                if (res.errMsg == 'shareAppMessage:ok') {}
            },
            fail(res) {
                // console.log(res)
                // 转发失败之后的回调
                if (res.errMsg == 'shareAppMessage:fail cancel') {
                    // 用户取消转发
                } else if (res.errMsg == 'shareAppMessage:fail') {
                    // 转发失败，其中 detail message 为详细失败信息
                }
            },
            complete(res) {
                // console.log(res)
                // 转发结束之后的回调（转发成不成功都会执行）
            }
        };
        if (option.from === 'button') {
            // 来自页面内转发按钮
            // console.log(option.target)
        }
        return shareObj;
    }
})